package api

import (
	"gitee.com/liuxiaowei123/vblog-01/vblog-01/vblog/blog"
	"gitee.com/liuxiaowei123/vblog-01/vblog-01/vblog/ioc"
)

// 此文件，实现把apihandler注册到ioc，完成初始化
// var _ blog.Service = &BlogApihandler{}

type BlogApihandler struct {
	blogsvc blog.Service
}

func init() {
	ioc.ApiHandler().Registry(&BlogApihandler{})
}

func (b *BlogApihandler) Init() {
	// 错误代码：b.blogsvc = ioc.ApiHandler().Get(blog.Appname).(blog.Service)
	/*ioc注册表中，有Controller()、ApiHandler()2个名称空间，我要初始化的是BlogApihandler中的blogsvc字段，
	所以我要用Controller()空间中blogServiceImpl，而不是ApiHandler()空间中的BlogApihandler*/
	b.blogsvc = ioc.Controller().Get(blog.Appname).(blog.Service)
}

func (b *BlogApihandler) Name() string {
	return blog.Appname
}
